
import { baseFlatten } from '../../.internal/lodash/baseFlatten.js';
import { baseUniq } from '../../.internal/lodash/baseUniq.js';
import { isArrayLikeObject } from '../../.internal/lodash/isArrayLikeObject.js';

/**
 * 
 * @desc 创建一个按顺序排列的唯一值的数组。所有给定数组的元素值使用SameValueZero做等值比较。（注： arrays（数组）的并集，按顺序返回，返回数组的元素是唯一的）
 * @param {Arrays} 要检查的数组
 * @return {Array} 一个新的联合数组
 */
function arrayUnion(...arrays) {
	return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
}

export { arrayUnion };